package hhpoll.service;

import java.util.Date;
import java.util.List;

import hhpoll.domain.Poll;
import hhpoll.domain.PollItem;
import hhpoll.domain.PollParticipant;
import hhpoll.service.context.RequestContext;

public interface PollService {

	public abstract Poll createPoll (RequestContext ctxt, Poll poll);
	public abstract Poll getPoll (RequestContext ctxt, Long pollId, boolean participantDetails, boolean itemDetails);
	public abstract PollParticipant vote (RequestContext ctxt, Long pollId, Long pollItemId);
	public abstract PollParticipant addParticipant (RequestContext ctxt, String email, Long pollId);
	public abstract PollItem addItem (RequestContext ctxt, String itemValue, Long pollId);
	public abstract List<Poll> findMyPolls (RequestContext ctxt, Date start, Date end);
	public abstract List<Poll> findParticipantPolls (RequestContext ctxt, Date start, Date end);
	public abstract List<Poll> findPublicPolls (RequestContext ctxt, Date start, Date end);
	
	
}
